Linux ๋ณด์ ยท ์๊ฒฉ ยท ๋ฐฉํ๋ฒฝ ยท DNS ์ ๋ฆฌ
NOTE
๋น๋์นญํค์ ํ๊ณ์ CA, SSH ๋ณด์ยทํค ์ธ์ฆยทSCP, firewalld(Zone) ๋ฐฉํ๋ฒฝ, DNS ๊ฐ๋ ยท์กฐํยทBIND ์๋ฒ ๊ตฌ์ถ์ ์ ๋ฆฌํ ๋ฆฌ๋ ์ค ๋ณด์/๋คํธ์ํฌ ๋ ธํธ.
๐ ๊ฐ๋
๋น๋์นญํค์ ํ๊ณ์ ํด๊ฒฐ์ฑ
- ๋จ์ : ๊ณต๊ฐํค ์์ฒด๊ฐ ์ง์ง์ธ์ง ๋ณด์ฅํ ์ ์์ โ ์ค๊ฐ์ ๊ณต๊ฒฉ(MITM) ๊ฐ๋ฅ
- MITM ๊ณต๊ฒฉ ํ๋ฆ
- A๋ ํด์ปค์ ๊ณต๊ฐํค๋ก ์ํธํ
- ํด์ปค๊ฐ ์์ ์ ๊ฐ์ธํค๋ก ๋ณตํธํ โ ๋ด์ฉ ์กฐ์
- ํด์ปค๊ฐ B์ ๊ณต๊ฐํค๋ก ์ฌ์ํธํ
- B๋ A๊ฐ ๋ณด๋ธ ์ ์ ๋ฐ์ดํฐ๋ก ์ฐฉ๊ฐ
- ํด๊ฒฐ์ฑ : ์ 3์ ์ธ์ฆ๊ธฐ๊ด(CA)์ด ๊ณต๊ฐํค์ ์ง์๋ฅผ ์ธ์ฆ(๋ํ ์: SSL/TLS)
SSH ๋ณด์ ๊ตฌ์กฐ
| ๋ฒ์ | ํน์ง |
|---|---|
| SSH v1 | MITM ๊ณต๊ฒฉ ์ทจ์ฝ |
| SSH v2 | Diffie-Hellman ์ฌ์ฉ |
- SSH v2: ๊ณต๊ฐํค ๊ธฐ๋ฐ์ผ๋ก ๋์นญํค๋ฅผ ์์ฑํ๊ณ ์ดํ ํต์ ์ ๋์นญํค๋ก ์ํธํ(ํค ์ ๋ฌ ๋ฌธ์ ํด๊ฒฐ + ์๋ ํ๋ณด)
- SSH ์๋ฒ ์ค์ (
/etc/ssh/sshd_config):Port(ํฌํธ ๋ณ๊ฒฝ),ListenAddress(ํน์ IP๋ง ํ์ฉ). ๊ธฐ๋ณธ ํฌํธ 22, ๊ธฐ๋ณธ ListenAddress 0.0.0.0 ~/.ssh/known_hosts: ์ ์ํ๋ ์๋ฒ์ ๊ณต๊ฐํค ์ ์ฅ
firewalld (Zone ๊ธฐ๋ฐ ๋ฐฉํ๋ฒฝ)
์ธํฐํ์ด์ค โ Zone ์ฐ๊ฒฐ.
| Zone | ์๋ฏธ |
|---|---|
| drop | ํจํท ํ๊ธฐ |
| reject | ๊ฑฐ๋ถ ์๋ต |
| public | ๊ณต๊ฐ ์์ญ |
| home | ๋ด๋ถ ์๋น์ค ํ์ฉ |
| dmz | ์ธ๋ถ ๊ณต๊ฐ |
| trust | ๋ชจ๋ ํ์ฉ |
DNS
- ์ญํ : ๋๋ฉ์ธ ์ด๋ฆ โ IP ์ฃผ์ ๋ณํ
- FQDN ์์:
docs.google.com(docs = ํธ์คํธ, google.com = ๋๋ฉ์ธ) - ์กฐํ ์์:
/etc/hostsโ DNS ์บ์ โ DNS ์๋ฒ ์ง์
์ ์ฒด ํ๋ฆ ์์ฝ
Client โ resolv.conf โ DNS โ zone โ record โ IP ๋ฐํ
์ต์ข ์๊ธฐ: ๋น๋์นญํค โ CA โ SSH โ firewall โ DNS
๐ป ์์
SSH ๊ธฐ๋ณธ / ํค ์ธ์ฆ / SCP
ssh ๊ณ์ @IP
ssh -X ๊ณ์ @IP # GUI ํฌ์๋ฉ (์๊ฒฉ gedit ์คํ, ํ์ผ์ ์๊ฒฉ ์๋ฒ ์ ์ฅ)
# ํค ๊ธฐ๋ฐ ์ธ์ฆ (Passwordless)
ssh-keygen # ๊ฐ์ธํค + ๊ณต๊ฐํค ์์ฑ (๊ฐ์ธํค ์ ์ถ ๊ธ์ง)
ssh-copy-id ๊ณ์ @IP # ๊ณต๊ฐํค โ ์๋ฒ authorized_keys
# SCP (์๊ฒฉ ํ์ผ ๋ณต์ฌ)
scp ๋ก์ปฌํ์ผ ๊ณ์ @IP:์๊ฒฉ๊ฒฝ๋ก
scp ./test root@10.0.2.30:/root/test๋ฐฉํ๋ฒฝ (firewalld)
# Zone ํ์ธ
firewall-cmd --get-zones
firewall-cmd --get-default-zone
firewall-cmd --info-zone=public
# ์๋น์ค / ํฌํธ ๊ด๋ฆฌ
firewall-cmd --list-services
firewall-cmd --add-service=http
firewall-cmd --remove-service=http
firewall-cmd --add-port=8080/tcp
firewall-cmd --remove-port=8080/tcp
# ์๊ตฌ ์ค์
firewall-cmd --add-service=http --permanent
firewall-cmd --reloadDNS ์กฐํ
nslookup naver.com
dig @8.8.8.8 domain
host domainDNS ์๋ฒ ๊ตฌ์ถ (BIND, ์บ์ ์ ์ฉ)
yum install -y bind bind-chroot
# /etc/named.conf
# listen-on port 53 { any; };
# listen-on-v6 port 53 { none; };
# allow-query { any; };
systemctl restart named
systemctl enable named
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload
dig @DNS์๋ฒIP domain # ํด๋ผ์ด์ธํธ ํ์ธ์ฃผ DNS ์๋ฒ (Master) ๊ตฌ์ถ
# Zone ์ค์ (/etc/named.conf)
# zone "linux.com" IN {
# type master;
# file "linux.com.db";
# allow-update { none; };
# };
named-checkconf
# Zone ํ์ผ (/var/named/linux.com.db) ํต์ฌ ๋ ์ฝ๋: SOA, NS, A, www.linux.com, ns.linux.com
chmod -R 754 /var/named
# Client ์ค์
vi /etc/resolv.conf
# nameserver DNS์๋ฒIP
nslookup